Потому, что Nginx не умеет из коробки выполнять динамические скрипты на PHP/Ruby/Python/etc. Nginx хорошо подходит для раздачи статических файлов и проксирования. Чтобы заработал, например, PHP ставят дополнительно другой вебсервер (например, Apache + mod_php) или другие тулзы (например, PHP-FPM), а Nginx при этом настраивают на проксирование. Примерно тоже самое и с Ruby/Python. То есть Passenger в данном случае нужен для приложений на Ruby.