No, it does not appear this was possible with nginx 1.5.x.
Yes, it is possible to do this in nginx.conf files as of nginx 1.7.0 (http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log):

From https://docs.nginx.com/nginx/admin-guide/monitoring/logging/#conditional :
map $status $loggable {
~^[23] 0;
default 1;
}
access_log /path/to/access.log combined if=$loggable;
That will skip logging all 2xx and 3xx status codes. You could rewrite this to positively select 4xx and 5xx status codes (though these will largely be equivalent unless you are returning large volumes of 1xx status codes or returning non-standard > 599 status codes, which would be odd):
map $status $loggable {
~^[45] 1;
default 0;
}
access_log /path/to/access.log combined if=$loggable;