Have you checked the basics - plugs and coils?
Thanks for the response
I assumed they would have checked, but if it was those wouldn't it be constant? And would it throw the EPC light?
You can have all sorts of misfires without a light coming on or a fault code being stored.
If you do get a misfire code on a specific cylinder, swap the plug on that cylinder with one of the other plugs, clear codes, see if it misfires again and stores a code on the cylinder you moved the plug to. If it does, it's a bad plug. If not, do the same thing with the coils.
This is all assuming it's actually a misfire. If it is, and your plugs and coils are ok, it might be an injector. If not, you could do with getting some data logging done with VCDS.
Could be any number of things. But it's worth troubleshooting the easy bits first.