Do I have a bad head gasket?

Another test is to pressurize the cooling system, and see if it holds pressure or pumps coolant into a chamber. If the system does not hold pressure and you cannot find an external leak: DO NOT CRANK the engine over; instead pull the spark plugs all out. Water is not compressible and leads to bent rods.
Now you can bump-start the crank and see where the coolant is going.

IMO, the radcap should be venting.
Maybe you just have a faulty thermostat?