2003 chevy Silverado has check engine light on but it flashes and won't go solid. It use to happen when it was wet or raining out but now its all the time. Could it be a ground issue
The P0300 code means "random misfire". Some misfires are isolated to one cylinder and have different trouble codes, but this means that multiple cylinders or random cylinders are misfiring.
Misfiring will cause a loss of power, but it can also cause damage to the exhaust system if unburnt fuel enters the catalytic converter and burns inside. Other types of damage can occur, so the flashing light is trying to tell you "this is serious, please stop driving".
It looks like your engine probably has a separate coil for each plug with short plug wires going to each plug. Since you say it was happening on wet days, I'd focus on the ignition system first. Look at the coils and see if they are cracking. On some vehicles you can run the engine in the dark and look for sparks coming out around the coil as an indicator of damage. Each coil also has control wires that hook into them. Make sure these connections are good, and also check the main harness that these wires go to.
Someone with experience on your engine might have a better answer - I just want to point you in the right direction since a misfire should be fixed as soon as you can. It's not like an emission error you can drive around with for months until you get around to it...