Actually push notifications DO work via WiFi, but with limits.
1. WiFi automatically turns off if the phone has been idle (the screen is off) for a long time to save power (this has changed a little during various releases) unless an app is busy using it.. IE a streaming radio app.
2. Apple Push notifications do not work through http proxies or through some web filtering systems... IE it might work on your home wifi but not via a public hot spot.http://support.apple.com/kb/HT3576
Apple Push Notification Service requires iOS 3.0 or later and a connection to the Internet, either via a cellular data network or Wi-Fi, and at least one application that supports notifications.
If the Settings > Notifications menu does not appear on your device, you don't have an application installed that supports notifications.
You need to open an application at least once to get any notifications from that app.
When the iPod touch screen is on and has a Wi-Fi connection, push notifications are received at any time. If the iPod touch screen is asleep, it will check every 15 minutes for a notification.
If you want to disable notifications from an application, turn off all notifications for that application in Settings > Notifications.
When you restore a backup to a different iPhone or iPod touch, apps will need to be opened again to get notifications.
If the device is connected over Wi-Fi and is still unable to receive notifications, the Wi-Fi network you're using might have a firewall that is blocking port 5223. This port must be open to TCP traffic for notifications to work.