Until now I used development push certificate and the push notifications worked great.
Now I want to submit my app to Apple so I created a production certificate and set it under "code signing identity" -> "Release"
I also placed the .p12 file in my production server.
But the push now does not work.
Is it suppose to work when I run from xcode? or will it just work when downloading the app from App Store? If so how can I test it?
You can test APNS production environment building an AdHoc version of your App. The app will be using the production certificates and servers and it's purpose is exactly to test BEFORE you send it to AppleStore.
Take a looke at this link: what kind of certificate do I need to test apns using ad-hoc distribution?