So is there any way to hide X-Powered-By on Nginx?
Try to use the more_clear_headers directive from the nginx's HttpHeadersMoreModule which can allow you to declare:
more_clear_headers 'X-Powered-By';
which should do just what you want.