What is the difference between a perfect foresight equilibrium and a rational expections equilibrium? What is the difference between a perfect foresight equilibrium and a rational expections equilibrium? 

Why is it the same in case of a non-stochastic model? 

Can there be a perfect foresight equilibrium in a stochastic model?
This is not a formal definition, but a useful piece of intuition. I  think that the best way to think about it is that when there is uncertainty in a model it arises mainly in two forms either there is information that some agents have, but not every agent has it (private information), or there are truly random events that no one knows (in game theory jargon, these are moves by nature). 

This difference is key because private information affects agents' decisions. So for example, if the model predicts that people will act differently depending on their private information, a rational expectation equilibrium assumes that everyone understands this, and so by observing people's actions, they can infer their private information. If the "relevant outcome" that agents have to predict. depends only on all the private information dispersed among people, probably you can see how you can get people behaving as if they had perfect foresight. 

Contrast the assumption of rational expectations with an assuming that agents are agnostic about how other agents use their private information to make decisions, or with assuming that agents predict the "relevant outcome" only using their own private information and past trends of the relevant outcome. In these cases, we should not expect a perfect foresight equilibrium.

How does that relate to stochastic models?

If the source of uncertainty is not only the existence of private information, but also "true randomness" then even a rational expectations equilibrium will not have perfect foresight (except perhaps by coincidence). Loosely speaking, if the model is stochastic, then it will predict many possible outcomes (each with some probability attached, perhaps), and agents will also expect these outcomes in a rational expectations equilibrium. Thus maybe agents make a decision based on the most likely outcome, however, this outcome may or may not occur (i.e. no perfect foresight). 

(Further readings)

In the Wikipedia entry on this topic, here, you can see that rational expectation simply assumes that agent's expectations are the same as the model's predictions, so if the model is not stochastic (it has a unique prediction) agents anticipate it, hence the perfect foresight. But otherwise, these two concepts do not coincide.