If the headgasket were that far gone causing it to get hot enough to puke out, you would know it on the temp gauge, thing would be basically pegged and you'd most likely have a dead misfire.
Either the cap is faulty, your oil cooler gasket failed or someone has been mixing coolant types while not ever changing the coolant out.. you should be doing it every 3-5 years regardless of mileage driven.
Really blows my gasket that people will drop $900 every year on a cellphone but you ask them to spend $300/year on oils and fluids and they lose their minds.
Replace the cap with an OEM & flush the system out with a cleaner + distilled water.
Refill with proper coolant.
Spend half a day trying to burp the air out.
Profit.