Yep. Proper diagnosis being the key.
0300 means random misfire. In other words, the ECU is unable to determine which cylinder is missing. A faulty coil pack will always misfire on the same cylinder(s) so I think we can discount that straight away. £80 saved.

IIRC, the car had issues with a totally clogged air filter amongst other things which could well have caused a misfire. Were the codes reset at that time?
Do you know for sure that this code appeared since everything has been sorted out?
Does the car misfire or show any symptoms when driving?
Is the EML actually on or is the code just stored?
If the answer to the above is "no" you have nothing to worry about. Next time you're passing one of us with a Tech 2 get the codes read and cleared so you know that you are not dealing with historical information.

Kevin