WordPress does not output “post” class when calling post_class() function

get_post_class() generates and returns the list of classes echoed by post_class(). The only reason for the function itself not producing the result you want can be found in the source post-template.php:

        if ( ! is_admin() )  
                $classes[] = $post->post_type;

Which means that the class post actually only gets generated if is_admin() doesn’t apply.

Another possibility actually could be that the filter post_class is used to prevent the class. But given the available information this can just be a non-grounded assumption.