I would check for codes first....this may give you an indication something is up..
I had a similar problem, like it would idle fine but every once in a while i would get a miss. Got a code telling me it was just a miss, that no other sensor was at fault. Another thing you can do, which I did also, is check the plugs. After checking mine, 3 of them looked fine while the other had signs that it was missing.
After doing a tune up...the new spark plug wires cured the problem. That is what was wrong with mine, so it is a possibility for yours. Might be a clogged injector??? I don't know for sure, check the easy stuff first.
I don't think your timing chain is giving you the troubles, but I wouldn't let that chain rattle much longer. If the chain is rattling, it is most likely that the plastic timing chain guide broke and it is rattling against the timing chain cover. If you let this go too long, it will wear through and let antifreeze into your oil. Getting antifreeze in your oil, especially if you don't know about it, could ruin your crank bearings. Then you will end up spending more money in the end for a rebuild, instead of a new timing chain. I am glad I changed my chain when i did...it was worn through the timing cover halfway, if not more.
If you want to check for sure, remove your valve cover and look to see if the guide is gone. It will look something like this:

The upper part where it is wearing is the head, and the lower part is the actual cover. There should be a plastic guide there. This guide (always drivers side guide) breaks in most cases, causing the rattling. When doing a new timing chain, be sure to use a metal-backed guide. Most kits come with metal backed guides.
Hope this helps