To answer the question, you'll need to understand how Apple's push notification service works. Every application that wants to use push notifications must register with the Apple Push Notification Service (APNS). Typically, this is done right after installation. iOS asks the user if the app is allowed to receive push notifications. If the user agrees, his iPhone talks to the APNS and requests a token that can identify the combination of application and device. This token is then handed to the service provider (i.e. the developer of the application). If the provider wants to send a push notification, it sends this token along with the payload to the APNS, which then delivers the message. So you can imagine the token as some kind of address. That is, the provider has to include the token in every push message request.
But how is the togen generated? According to Apple's docs, the registration mentioned above works as follows: The device sends its unique device token (this is another one!) to the APNS and requests the mentioned
deviceToken from the APNS. This
deviceToken depends amongst others on the device ID and the app ID and is generated using cryptographic functions, so it cannot be forged.
Now here's the point: The unique token iOS needs to register applications and hence to allow push notifications is generated during the activation process in iTunes. The unique token also uses cryptography and can only be obtained from Apple during this activation process. Jailbroken and hacktivated iOS devices never perform the official activation, so they miss the token. Hence, push notifications cannot work (at least if Apple did not make a major mistake in the implementation).