How to get the post excerpt using post object?

$nex_obj = get_adjacent_post(false, '', true);

If there is an adjacent (previous) post, this should work. You should be able to get the excerpt with:

echo $nex_obj->post_excerpt;

However, what you will get is the manually created excerpt. If you are expecting the automatically created excerpt you won’t get it. That is created on display from the post content, and not saved to the database. You can use…

echo wp_trim_words($nex_obj->post_content);

… to simulate the effect.

This:

echo $excerpt = apply_filters('get_the_excerpt', $nex_obj ->post_excerpt); 

Won’t give you the automatic excerpt either, because you need to be passing the post body not the manually generated excerpt, but I don’t know why you get the error. I don’t get that error when I try it.

This:

if (have_posts()) :
   while (have_posts()) :
   if($nex_obj==get_the_ID()){
      the_excerpt();
   }
   endwhile;
endif;

Is close but broken. The the_post() function is what increments the counter. Without it, the Loop will process the same post over and over.

This one:

query_posts($args);
// The Loop
while (have_posts()) : the_post();
     if ($nex_obj == get_the_ID()) {

         echo $excerpt = get_the_excerpt();

     }
endwhile;

// Reset Query
wp_reset_query();

Is confusing. Your object will never match the post ID– an int is not an object, so I am not sure why you have that if. It should probably work without the if but…

Please don’t use query_posts.

It should be noted that using this to replace the main query on a page
can increase page loading times, in worst case scenarios more than
doubling the amount of work needed or more
. While easy to use, the
function is also prone to confusion and problems later on. See the
note further below on caveats for details.

http://codex.wordpress.org/Function_Reference/query_posts (emphasis mine)