The speed memory runs at is set by your motherboard and processor configuration.
Memory is sold by the fastest rated speed that it is guaranteed to work at, NOT at the speed it will run at by default on your motherboard.
So in short, you always want to buy memory that is at least rated at what your particular build will run at by default.
So yes, you can put 800mhz memory in your machine, but unless you overclock it, it will run at 667mhz. You won't be able to tell any difference in speed even if you do overclock it and set to run at 800mhz.
But, there is no reason not to buy 800mhz memory if you have found a set at a good price, it will work fine.