The initial problem of Fatal error: Uncaught InvalidArgumentException: was caused by the folder permissions at changing them to 777 did infact fix that issue.

The next issue that occurred The server returned a "404 Not Found" I found was caused by a missing piece of data in the database. To find this out in the production environment I edited the app.php on the line $kernel = new AppKernel('prod', false); to contain true not false, thus forcing development error reporting to appear rather than 404 errors.

In the end the nginx configurations were perfect.

Email codedump link for Production Symfony app keeps erroring with permissions or 404