A idéia principal do armazenamento em cache é fornecer as mesmas respostas para a mesma solicitação sem solicitar um sistema de backend. O problema com as solicitações POST é que você precisa inspecionar o corpo para decidir quando duas solicitações são iguais. A melhor solução é mudar de POST para GET.
Se isso não for aplicável, você pode tentar o módulo proxy Nginx com a seguinte configuração (consulte a limitação exigida do corpo tamanho):
location @apache_backend {
...
proxy_cache_methods POST;
proxy_cache_key "$uri|$request_body";
client_max_body_size 1k;
}