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.