What is the enzyme that is responsible for unzipping DNA?

The DNA Helicase. It's DNA unwinding [separation of the two strands] function is a 'precursor' to DNA copying, either by replication or transcription. It is closely associated with the DNA polymerases.