How to add terms (without deleting others)

The fourth parameter to wp_set_object_terms() is an “append” argument.

$append
(bool) (required) If true, tags will be appended to the object. If false, tags will replace existing tags

    Default: False

http://codex.wordpress.org/Function_Reference/wp_set_object_terms

Your code should work if you pass true as that fourth argument.

wp_set_object_terms( 
  $post->ID, 
  explode( ',', $_POST['postTags'] ), 
  'product_tag',
  true
);