Depending on your caching plugin you need to exclude dynamic pages and sometimes exclude cookies from cache. The pages to exclude are the quote request, product category (archive), shop and the product page. The most common problem caused by page caching is that items which are added to the quote cart cannot be found afterwards.
Never Cache URL(s)
Never Cache Cookies
If are using Pantheon:
You could also change the session method to PHP Sessions as an alternative method.