How to set a node reference programmatically?
After updating the value in your entity metadata wrapper you need to be sure to also call the save() method to save your change. See this documentation on drupal.org.

Since you have an object, and not an id, the following should work.

// Set value for a single value field.
$nc_wrapper-&gt;field_comm_relationship = $oc_wrapper-&gt;field_call_site_ref-&gt;value();


or

// Set value for a multivalue field. Make sure to pass an array of objects.
$nc_wrapper-&gt;field_comm_relationship = [$oc_wrapper-&gt;field_call_site_ref-&gt;value()];


or

// Append an additional value to a multivalue field.
$nc_wrapper-&gt;field_comm_relationship[] = $oc_wrapper-&gt;field_call_site_ref-&gt;value();


and finally

// Save the host entity.
$nc_wrapper-&gt;save();


If you have ids, check out this answer. You can get an id instead of an object from the entity metadata wrapper like $oc_wrapper-&gt;field_call_site_ref-&gt;raw() instead of -&gt;value();

Additional info for entity metadata wrappers can be found in this Death to Field Arrays! article.