Zero fee for a paid event
If you make a price set, create a price field and make the field not required, you should be good to go. The person simply wont choose a price option and registration will continue as normal. You should also be able to add a no cost (value 0) fee and registration will also continue as normal. 

Can you explain more about your setup?  CMS, CiviCRM version, what you mean by 'Pay' button of PayPal disappears.