Push only works on the following accounts:
MobileMe
Microsoft Exchange
Yahoo
All other iOS5 accounts can only Fetch.
See the following articles:
iOS: Supported push mail accounts iOS: Setting up an email account
I have been able to change my Gmail account to Exchange but not my Aol and Sky accounts, which use IMAP and therefore can only Fetch.
Check your iOS mail accounts:
Settings > Mail, Contacts, Calendars > Fetch New Data > Advanced
Ensure Push switch is ON and check each Mail account.
Edit: iCloud (@me.com) account will only push when the Mail app is open or in the background, unlike MobileMe, Exchange and Yahoo which will push in all circumstances.