Reverse proxy: Squid VS nginx?
Еще как вариант существует Varnish

Гораздо более гибкая настройка, C-подобный конфигурационный язык со вставками на чистом C.

Умеет проверять состояние бекендов, на основе этого выбирать подходящий для обработки запросов, создавать из них систему типа round robin.
Squid в качестве прокси обладает большим функционалом чем nginx. В любом случае все очень зависит от специфики кэширования. Если все влазит в то, что умеет nginx — я бы использовал его. В любом случае нет никакой проблемы воткнуть сначала squid и собрать статистику по отклику в пиках, а потом nginx и на основе этих данных принять решение.