普通にerror_page 502を設定しているだけだと、proxy_passで指定しているサーバが落ちた場合はnginx defaultの502が表示されるので、recursive_intercept_errors on; も必要。
error_page 502 /502.html; recursive_intercept_errors on;
追記
もはや記憶の彼方だけどrecursive_intercept_errorsという設定がnginxにない。
proxy_intercept_errors を書き間違えたかな