Elasticsearch throws a SearchParseException while parsing query if there are some documents found not containing field used in sort criteria.
SearchParseException
You could also use script which gives you some flexibility:
"sort" : { "_script" : { "type" : "number", "script" : { "lang": "painless", "source": "return !doc['price'].empty ? doc['price'].value : 0" }, "order" : "desc" } }