Are you one of those guys or gals that likes it ... complicated?
If you answered "yes", then read on. If not ... read on anyways, you're already here.
What follows are some tables showing a variety of historical coinage that might appear in the next treasure horde you generate, if you're of the mind to permit them. Of course, you might want to attach some imaginary, fantasy kingdom name to them to make them campaign specific ("Ah! You've found 300 Cromarkian Groats and a small sack of gold doubloons from the Fraznak Empire!). You can use the table in two ways (and one of them might just piss off the players, so I know which one I'd use.)
1) Calculate the total value of the horde's coins, roll a random coin type for each metal (or two or three, whatever you like), and translate the value into the number of coins. I included three values, one for OD&D (10 coins per pound), one for d20 (50 coins to the pound) and one for a more realistic 100 coins to the pound.
Example: You generate 1,000 cp and you're playing OD&D (i.e. 10 coins to the pound). You roll up the Roman Sesertius as your historic copper coinage, which are worth 1/3 a copper piece each, thus the horde consists of 3,000 copper sesterius.
2) You roll up the number of coins, and then roll randomly to determine what kind of coin was found.
Example: You roll up 300 gold coins (gp) and then roll randomly to determine they are Italian ducats. You're playing d20, so 300 ducats is actually worth 1,200 sp, or 120 gp. See - your players will be pissed. On the other hand, if you'd rolled up Spanish escudos, the horde would be worth 1,500 gp.
Without further ado ... the tables.
If you want to annoy the players a bit more, you can roll to see how debased the coinage is ... but I wouldn't suggest it.
Of course, if you're using the notion that your fantasy world is built on the ruins of a "modern" world, then the ancient coinage would be made up of krugerrands, yen and buffalo nickels.