All Records in Salesforce must have an Owner which is either a User or a Queue, if you try and set OwnerId to Null or blank "", this will always fail as the field is mandatory therefore Null is not an acceptable value.
As the Salesforce security model for data is built around record ownership this is correct behaviour as it will mean that any relevant users are able to access this Opportunity. The record owner will be important for the record visibility due to the role hierarchy, OWD and sharing rules so it would be a problem to make have a null or empty value.
I am not sure I understand what business case there is for not having an Owner for a record? Even if it is not an individual then a queue should be used for the record to be picked up from for update. Please explain what you are trying to achieve then you will be able to get an answer that helps you.