Both are correct. They are essentially interchangeable. Use
every unless you have a good reason for using
each.
Each points to the individual items of the set more distinctly than
every:
Every guest had a cracker.
Each guest had his cracker held at the ready as the clock struck midnight.
Of course, if there are only two items, you should use
each:
Each shoe was soleless on the feet of the panhandler.