Using post_class to style posts indivdually

You should be using post_class (and body_class for that matter) but you don’t need it for this. Alter your Loop on your home page to conditionally format the first post.

$first = (!is_paged()) ? true : false;
if (have_posts()) {
  while (have_posts()) {
    the_post();
    if ($first) {
      // code to format the first post
      $first = false;
    } else {
      // code to format all the other posts
    }
  }
}

If all you need is a small change that can be made via CSS then you can pass post_class a parameter.

$first = (!is_paged()) ? 'is_first' : 'not_first';
if (have_posts()) {
  while (have_posts()) {
    the_post();
    echo '<div ',post_class($first),'>';
      // the rest of your Loop
    echo '</div>';
    $first="not_first";
  }
}