It depends on the games you play. A GTX460 could play most games at moderate settings. A 6950 would play nearly all games at max settings. You would also have the option to flash the 6950 to a 6970 if you wanted to. If you needed to go a little cheaper, the 6870 is a great card too. I would recommend both over the GTX460.
As far as the memory size goes, you probably don't need 2GB at that resolution right now. But you may need it at some point depending on game developers. It would also help if you ever went to a higher resolution.