As the royal son of David, Christ is the owner of the key of David, but this doesn't mean he can't give to Peter, as his "prime minister," the keys to his heavenly kingdom.
In the passage to which Revelation 3:7 alludes, Isaiah 22:20-23, Eliakim is made master of the palace, a post roughly equivalent to prime minister. As the king's right-hand man, the master of the palace is given the "key of the House of David."
Keys symbolize authority, so bestowing the key to the House of David upon Eliakim is equivalent to giving him, as the king's duly appointed representative, authority over the kingdom.
Revelation 3:7 speaks of Jesus as the "holder of the key of David." Some argue this means he fulfills the role Eliakim foreshadowed in Isaiah 22:20-23. They claim this excludes a prophetic application of this text to Peter by Christ in Matthew 16:18-19.
There's a problem with this argument. In Isaiah 22 Eliakim is master of the palace--the king isn't. Eliakim possesses the key of the kingdom not as its owner, but as one deputed to oversee the king's affairs. If we apply this to Christ, then we must conclude he's not the true messianic king, merely his prime minister, the Messiah's chief representative!
Although Jesus is called the "holder of the key of David" in Revelation 3:7, he doesn't hold it as Eliakim did. As the son of David, Jesus is the heir to the throne of his ancestor (Lk 1:32-33). He really is the king, not the master of the king's palace, as was Eliakim. As king, Jesus is free to bestow the keys of his kingdom on whomever he wishes--without losing the authority those keys represent.
It's the Catholic position that this is precisely what Jesus does in Matthew 16:18-19. Peter identifies Jesus as the Messiah, which means, among other things, acknowledging his kingship. Christ then shows his kingly authority by bestowing on Peter something only the king could give--the keys of the kingdom of heaven--thus making Peter the messianic equivalent of Eliakim.