Can I have a specific template for products even if they are standard posts and not CPT?

Filter template_include, check if the current post is a product and load the product template.

Example:

add_filter( 'template_include', function( $template ) {

    if ( ! is_singular() or ! get_post_meta( get_the_ID(), 'price', true ) )
        return $template;

    return locate_template( 'product-single.php' );
});

How exactly you determine if a post is a product is up to your implementation.