You don't have to use the same license for every file in your project, but I would recommend not using two open licenses for the same file as it will only add confusion. That confusion will only prevent your code being used by others and be a place of contention with any legal proceedings related to the files in question.
If you want to keep your project as a GPL project but want a portion to be more freely available then you can make that portion available under the Apache license. The project as a whole will still be covered by the GPL but the portion of it covered by the Apache license can be extracted and used by another project. You can find a precedence of this in the blender project, where the code used for the cycles render engine was re-released under the Apache license while the project as a whole remains under the GPL.
For the files you want covered by the Apache license, you just need to have the Apache header info instead of the GPL header. Leave the projects COPYING/LICENSE file containing the GPL text.
You will find many large GPL projects contain files that have other licenses, often these are files extracted from other projects. Again the blender project can be an example of multiple licenses affecting different parts of a project, using it as an example, the extra license files are contained in the source tree and copied as part of the installation process.
Also note, that if you have any other contributors to the files in question, you will need to get their approval for the license change.