I had the exact same problem. I am using a HTC One X with Viper ROM installed. I fixed it by turning Auto Sync ON under Accounts & Sync in the Settings application. When I first installed the ROM, I turned the Auto-Sync feature OFF and forgot that I did, and as soon as I switched it back on it has been syncing fine.
And as mentioned above, these are the settings I use:
Originally Posted by burtonvdp
Set peak time to : Push
Off Peak time to : Push
Refresh on Open : Checked
Folders to sync : Inbox (Or more if wanted)
Auto Download message : checked