@ 1600x900 even an ATI 5770 is more than you need.
If you upgrade to anything better (1920x1080 for example) I'd go GTX 460.
If you upgrade to 1680x1050 an ATI 5770 could do it.
Ultimately, the best bang for your buck is the GTX 460 in my opinion. Personally, I'd opt for the 1GB version as it'll give you more memory for large textures at higher resolutions. Granted, at your current 1600x900 it won't matter much, and the GTX 460 would be overkill.