Ao usar proxy_passing, você precisa pensar em cache de forma diferente. A do nginx tem uma seção dedicada ao cache de proxy.
Assim, o exemplo mais básico se parece com isso:
http {
proxy_cache_path /data/nginx/cache keys_zone=one:10m;
server {
proxy_cache on;
location / {
proxy_pass http://localhost:8000;
}
}
}