The problem is that I was setting a cookie value in the controller action:
HttpContext.Response.Cookies.Add(myCookie);
Which changed the header from this:
Cache-Control: public, max-age=1295931
To this:
Cache-Control: public, no-cache="Set-Cookie", max-age=1296000
By commenting the line that was added the cookie, the page cached again.