Do you have clustered servers with load balancing, if yes, then you may want to enable sticky session on it, so that all requests from one session goes to the same server.
if you have Server Clustering
1) When you store the session in memeory, you want to make sure all requests goes to the same server otherwise you would get this error on server, but not local.
2) If you just enable sticky session on server this error might go away.
3) If the error is because of clustering then you cannot reproduce it on local.
4) If you cannot enable sticky session on loadbalancer, then you may either have to store the session to a file accessible to all clustered servers or store it in the db.
The first part of your answer is a question to OP, which should be a comment. Given OP didn't answer the question, the second part of your answer is a guess, which should also be a comment. Only answer when the problem is clear, use comments otherwise.
@CodeCaster - While I agree that asking questions should be a comment, you can certain answer based on a hypothesis.. such as "If you are doing xxxx then do this", it's an answer, and even if it isn't a good answer for this question, it might answer other peoples questions who find this question as part of their search and the qualification of what it applies to helps.
@CodeCaster - I agree, in a perfect q/a world.. a lot of times, the asker doesn't come back to the question for several days though... regardless, this is just one of the reasons I think the workflow of SO needs a rethink.. but that's a different argument.