The correct status code is HTTP 400 - Bad Request.
The HTTP 400 is correct as the user did not send the Required input field.
Why HTTP 422 is incorrect - As the current case is exact match to HTTP 400. So keeping the end user in mind one should not go with not popular response codes if it is not needed.
Where can you use HTTP 404:-
1) If the client requesting url is not present on the server:- Usually it will be taken care by the server team. Developer usually builds nice looking 404 page only rest will be handled by server team
2) If the client requesting path parameter is not present on the server:- If client was looking for an entry with an id and if the application does not have such entry, you must respond back with an HTTP 404 code.