Is P0300 the only code you're showing? Assuming you are using stock temp properly gapped plugs, I too would say it could be a cat or vaccuum issue.

To check for vac leaks, get a can of starter fluid. After the car has sat and cooled down for a while, start it and spray around the intake and vaccuum lines. If the idle changes, you have a vac leak. Make sure not to get it on the headers, as it is flamable.

A quick way to check the cat would be to shake it. If it makes a noise like something came loose inside of it, replace it.