Add an exception class to the 404 list. Spree must redirect to 'public/404', this way when it is not found it will use the exception handler to display the proper 404.