How to display node when view contains only 1 item?
My approach is to count the views result first. If the result is only one I will get the node id and load it using entity_load_single and render according to whatever you want.

Pseudo code:

function hook_name_or_callback() {
  // Get the view.
  $view = views_get_view($view_name);
  // Based on $view you can get the views result.
  if (result_is_one) {
    $node = entity_load_single('node', NID);
    $node_view = node_view($node);
    return drupal_render($node_view);
  }
  else {
    // Just display the view.
  }
}


P.S: Haven't test this code and might not work for you.

See these:

https://api.drupal.org/api/views/views.module/function/views_get_view/7.x-3.x
http://www.drupalcontrib.org/api/drupal/contributions!entity!entity.module/function/entity_load_single/7