your code :
$content = get_the_content();
if(empty($content)) {...}
you can replace your code with this :
if ($posts->post_content == ''){...}
this is not tested just try it i hope useful it.
EDIT
try this code.
$args = array(
'post_type' => 'post',
'post_status' => array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash'),
'posts_per_page' => -1,
'orderby' => 'ID',
'order' => 'desc');
$blank_posts = array();
$content_post =array();
$posts = new WP_Query( $args );
if ( $posts->have_posts() ) :
while ( $posts->have_posts() ) : $posts->the_post();
global $post;
$content = get_the_content();
if(empty($content)) {
array_push( $blank_posts, $post);
}else{
array_push( $content_post, $post);
}
endwhile;
endif;
/* print all blank content posts */
var_dump($blank_posts);
var_dump($content_post);
if(!empty($blank_posts)){
foreach ($blank_posts as $pst) {
echo "ID= ". $pst->ID . ' : '. "Title= ". $pst->post_title .'<hr />';
}
}