Postgres: error message "does not exist" when dropping existing trigger
The behaviour you've described is correct and documented : http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS 

If the trigger have been created with double quote and special char, it must be used with the same syntax.