get_terms won’t display product_cat or any other custom taxonomies when specified

You are maybe running an old version of WordPress (before 4.5).

Before WordPress 4.5.0, the first parameter of get_terms() was a taxonomy or list of taxonomies and since 4.5.0, taxonomies should be passed via the ‘taxonomy’ argument in the $args array (that what you are doing, it should work like that).

You will find all the details about these changes in the get_terms() reference page.

UPDATE :
Sorry, I verify my code, and I use get_categories() not get_terms, and that right get_terms() don’t work !

here is a working example to list all my product_cat

$product_categories = get_categories( array(
    'taxonomy'     => 'product_cat',
    'orderby'      => 'name',
    'pad_counts'   => false,
    'hierarchical' => 1,
    'hide_empty'   => false
) );

Hope it helps !